package entidates;

import java.util.Date;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */



/**
 *
 * @author Overpower
 */
public class Persona implements IEntidad, Cloneable{
    // ===================================================
    // ATRIBUTOS
    // ===================================================
    Integer _idPersona;
    Integer _idTipoPersona;
    
    String _nombre;
    String _apellido;
    Date _fechaDeNacimiento;
    Integer _documento;
    Integer _legajo;
    
    String _domicilio;
    String _ciudad;
    String _provincia;
    String _telefono;
    String _email;
    String _genero;
    String _nacionalidad;
    Boolean _alta;
    // ===================================================
    // Ctor
    // ===================================================
    public Persona()
    {
    }
    
    @Override
    public Integer GetID() {
        return this._idPersona;
    }
    
    @Override
    public void SetID( Integer _id) {
        if( null == this._idPersona )
            this._idPersona = _id;
    }
    
    @Override
    public void Copiar( IEntidad c )
    {
        Persona copia = (Persona)c;   
        this._idPersona = copia._idPersona;
        this._idTipoPersona = copia._idTipoPersona;

        this._nombre = copia._nombre;
        this._apellido = copia._apellido;
        this._fechaDeNacimiento = copia._fechaDeNacimiento;
        this._documento = copia._documento;
        this._legajo = copia._legajo;

        this._domicilio = copia._domicilio;
        this._ciudad = copia._ciudad;
        this._provincia = copia._provincia;
        this._telefono = copia._telefono;
        this._email = copia._email;
        this._genero = copia._genero;
        this._nacionalidad = copia._nacionalidad; 
        this._alta = copia._alta;
    }

    @Override
    public Persona Clonar() {
        /*
        Persona _clon = new Persona();
        _clon.Copiar(this);
        */
        
        Persona _clon = null;
        try
        {
            _clon = (Persona) super.clone();
        }
        catch(CloneNotSupportedException e )
        {
        }
        
        return _clon;
    }
    
    // ===================================================
    // METODOS
    // ===================================================
    
    public Integer GetTipoPersona() {
        return _idTipoPersona;
    }

    public void SetTipoPersona(Integer _idTipoPersona) {
        this._idTipoPersona = _idTipoPersona;
    }

    public String GetNombre() {
        return _nombre;
    }

    public void SetNombre(String _nombre) {
        this._nombre = _nombre;
    }

    public String GetApellido() {
        return _apellido;
    }

    public void SetApellido(String _apellido) {
        this._apellido = _apellido;
    }

    public Date GetFechaDeNacimiento() {
        return _fechaDeNacimiento;
    }

    // formato AAAA/MM/DD
    public void SetFechaDeNacimiento(Date _fechaDeNacimiento) {
        this._fechaDeNacimiento = _fechaDeNacimiento;
    }

    public Integer GetDocumento() {
        return _documento;
    }

    public void SetDocumento(Integer _documento) {
        this._documento = _documento;
    }

    public Integer GetLegajo() {
        return _legajo;
    }

    public void SetLegajo(Integer _legajo) {
        this._legajo = _legajo;
    }

    public String GetDomicilio() {
        return _domicilio;
    }

    public void SetDomicilio(String _direccion) {
        this._domicilio = _direccion;
    }

    public String GetCiudad() {
        return _ciudad;
    }

    public void SetCiudad(String _ciudad) {
        this._ciudad = _ciudad;
    }

    public String GetProvincia() {
        return _provincia;
    }

    public void SetProvincia(String _provincia) {
        this._provincia = _provincia;
    }

    public String GetTelefono() {
        return _telefono;
    }

    public void SetTelefono(String _telefono) {
        this._telefono = _telefono;
    }

    public String GetEmail() {
        return _email;
    }

    public void SetEmail(String _email) {
        this._email = _email;
    }

    public String GetGenero() {
        return _genero;
    }

    public void SetGenero(String _sexo) {
        this._genero = _sexo;
    }

    public String GetNacionalidad() {
        return _nacionalidad;
    }

    public void SetNacionalidad(String _nacionalidad) {
        this._nacionalidad = _nacionalidad;
    }

    public Boolean GetAlta() {
        return _alta;
    }

    public void SetAlta(Boolean _alta) {
        this._alta = _alta;
    }


    
}
